package com.ruoyi.storage.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 货品配送对象 delivery_detail
 * 
 * @author 庞一恺
 * @date 2025-02-23
 */
public class DeliveryDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 配送详情编号 */
    private String deliveryDetailId;

    /** 调拨单号 */
    @Excel(name = "调拨单号")
    private String orderId;

    /** 运输明细编号 */
    private String transportDetailId;

    /** 运输单号 */
    private String trackingNo;

    /** 配送单批次号 */
    @Excel(name = "配送单批次号")
    private String deliveryBatchId;

    /** 仓库编号 */
    private String warehouseId;

    /** 目的地 */
    private String destination;

    /** 预计送达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计送达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedDeliveryTime;

    /** 实际送达时间 */
    private Date deliveryTime;

    /** 状态 */
    @Excel(name = "状态")
    private String state;

    /** 货品名称 */
    @Excel(name = "货品名称")
    private String productName;

    /** 货品批次 */
    @Excel(name = "货品批次")
    private String productBatch;

    /** 总重量 */
    @Excel(name = "总重量")
    private Long weight;

    /** 重量单位 */
    @Excel(name = "重量单位")
    private String weightUnit;

    /** 数量 */
    @Excel(name = "数量")
    private Long transportQuantity;

    /** 类型 */
    private String type;

    /** 生成时间 */
    private Date generatedDate;

    /** 更新时间 */
    private Date updatedDate;

    /** 操作人 */
    private String updatedPerson;

    public void setDeliveryDetailId(String deliveryDetailId) 
    {
        this.deliveryDetailId = deliveryDetailId;
    }

    public String getDeliveryDetailId() 
    {
        return deliveryDetailId;
    }
    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }
    public void setTransportDetailId(String transportDetailId) 
    {
        this.transportDetailId = transportDetailId;
    }

    public String getTransportDetailId() 
    {
        return transportDetailId;
    }
    public void setTrackingNo(String trackingNo) 
    {
        this.trackingNo = trackingNo;
    }

    public String getTrackingNo() 
    {
        return trackingNo;
    }
    public void setDeliveryBatchId(String deliveryBatchId) 
    {
        this.deliveryBatchId = deliveryBatchId;
    }

    public String getDeliveryBatchId() 
    {
        return deliveryBatchId;
    }
    public void setWarehouseId(String warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseId() 
    {
        return warehouseId;
    }
    public void setDestination(String destination) 
    {
        this.destination = destination;
    }

    public String getDestination() 
    {
        return destination;
    }
    public void setExpectedDeliveryTime(Date expectedDeliveryTime) 
    {
        this.expectedDeliveryTime = expectedDeliveryTime;
    }

    public Date getExpectedDeliveryTime() 
    {
        return expectedDeliveryTime;
    }
    public void setDeliveryTime(Date deliveryTime) 
    {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime() 
    {
        return deliveryTime;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductBatch(String productBatch) 
    {
        this.productBatch = productBatch;
    }

    public String getProductBatch() 
    {
        return productBatch;
    }
    public void setWeight(Long weight) 
    {
        this.weight = weight;
    }

    public Long getWeight() 
    {
        return weight;
    }
    public void setWeightUnit(String weightUnit) 
    {
        this.weightUnit = weightUnit;
    }

    public String getWeightUnit() 
    {
        return weightUnit;
    }
    public void setTransportQuantity(Long transportQuantity) 
    {
        this.transportQuantity = transportQuantity;
    }

    public Long getTransportQuantity() 
    {
        return transportQuantity;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setGeneratedDate(Date generatedDate) 
    {
        this.generatedDate = generatedDate;
    }

    public Date getGeneratedDate() 
    {
        return generatedDate;
    }
    public void setUpdatedDate(Date updatedDate) 
    {
        this.updatedDate = updatedDate;
    }

    public Date getUpdatedDate() 
    {
        return updatedDate;
    }
    public void setUpdatedPerson(String updatedPerson) 
    {
        this.updatedPerson = updatedPerson;
    }

    public String getUpdatedPerson() 
    {
        return updatedPerson;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deliveryDetailId", getDeliveryDetailId())
            .append("orderId", getOrderId())
            .append("transportDetailId", getTransportDetailId())
            .append("trackingNo", getTrackingNo())
            .append("deliveryBatchId", getDeliveryBatchId())
            .append("warehouseId", getWarehouseId())
            .append("destination", getDestination())
            .append("expectedDeliveryTime", getExpectedDeliveryTime())
            .append("deliveryTime", getDeliveryTime())
            .append("state", getState())
            .append("productName", getProductName())
            .append("productBatch", getProductBatch())
            .append("weight", getWeight())
            .append("weightUnit", getWeightUnit())
            .append("transportQuantity", getTransportQuantity())
            .append("type", getType())
            .append("generatedDate", getGeneratedDate())
            .append("updatedDate", getUpdatedDate())
            .append("updatedPerson", getUpdatedPerson())
            .toString();
    }
}
